from typing import List


class Solution:
    def canJump(self, nums: List[int]) -> bool:
        n=len(nums)
        # 贪心
        # 当前能到达的最远位置
        cur=0
        for i in range(n):
            if i>cur:  # 如果当前位置已经超出能到达的最远位置
                return False
            cur=max(cur,i+nums[i])
            if cur>=n-1:
                return True
        return False